Verified Functional Programming of an Abstract Interpreter
نویسندگان
چکیده
Abstract interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms well understood, their implementations subject to bugs, that might question soundness computations. While some formally verified have been written in past, writing understanding them requires expertise use proof assistants, a non-trivial amount interactive proofs. This paper presents interpreter fully programmed proved correct F* programming environment. Thanks refinement types SMT prover capabilities we demonstrate substantial saving effort compared previous works based on assistants. Almost all code our implementation, proofs included, functional style, presented directly paper.
منابع مشابه
A Formally Verified Interpreter for a Shell-Like Programming Language
The shell language is widely used for various system administration tasks on UNIX machines, as for instance as part of the installation process of software packages in FOSS distributions. Our mid-term goal is to analyze these scripts as part of an ongoing effort to use formal methods for the quality assurance of software distributions, to prove their correctness, or to pinpoint bugs. However, t...
متن کاملA verified abstract machine for functional coroutines
Functional coroutines are a restricted form of control mechanism, where each coroutine is represented with both a continuation and an environment. This restriction was originally obtained by considering a constructive version of Parigot’s classical natural deduction which is sound and complete for the Constant Domain logic. In this article, we present a refinement of de Groote’s abstract machin...
متن کاملTRX: A Formally Verified Parser Interpreter
Parsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsing expression grammars (PEGs), a formalism essentially representing recursive descent parsing, whi...
متن کاملA Concurrent Abstract Interpreter
Abstract interpretation [6] has been long regarded as a promising optimization and analysis technique for high-level languages. In this article, we describe an implementation of a concurrent abstract interpreter. The interpreter evaluates programs written in an expressive parallel language that supports dynamic process creation, first-class locations, list data structures and higher-order proce...
متن کاملProgramming languages - an interpreter-based approach
Read more and get great! That's what the book enPDFd programming languages an interpreter based approach will give for every reader to read this book. This is an on-line book provided in this website. Even this book becomes a choice of someone to read, many in the world also loves it so much. As what we talk, when you read more every page of this programming languages an interpreter based appro...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2021
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-030-88806-0_6